#ifndef _GAMESERVERPACKETPROCESS_H_
#define _GAMESERVERPACKETPROCESS_H_

#include <netlib/session/session.h>
#include <netlib/net/IOCPManager.h>

class GameServerPacketProcess : public netlib::packet::PacketProcess
{
public:
	GameServerPacketProcess();
	virtual ~GameServerPacketProcess();

	bool echoReq( netlib::packet::Packet *packet, netlib::session::Session *session );
	bool identifyUserReq( netlib::packet::Packet *packet, netlib::session::Session *session );

	bool createChannelReq( netlib::packet::Packet *packet, netlib::session::Session *session );

	bool enterChannelReq( netlib::packet::Packet *packet, netlib::session::Session *session );
	bool leaveChannelReq( netlib::packet::Packet *packet, netlib::session::Session *session );

	bool chatInfoReq( netlib::packet::Packet *packet, netlib::session::Session *session );
	bool channelListReq( netlib::packet::Packet *packet, netlib::session::Session *session );

	bool enterLobbyReq( netlib::packet::Packet *packet, netlib::session::Session *session );

	bool readyReq( netlib::packet::Packet *packet, netlib::session::Session *session );

	bool kickOutReq( netlib::packet::Packet *packet, netlib::session::Session *session );

	bool startGameReq( netlib::packet::Packet *packet, netlib::session::Session *session );
	bool startedGameReq( netlib::packet::Packet *packet, netlib::session::Session *session );
};


#endif